home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / OCEStandardDirectory.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  21.0 KB  |  644 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        OCEStandardDirectory.h
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1994-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __OCESTANDARDDIRECTORY__
  18. #define __OCESTANDARDDIRECTORY__
  19.  
  20. #ifndef REZ
  21. #ifndef __ICONS__
  22.     #include <Icons.h>
  23. #endif
  24.  
  25. #ifndef __MACTYPES__
  26.     #include <MacTypes.h>
  27. #endif
  28.  
  29. #ifndef __QUICKDRAW__
  30.     #include <Quickdraw.h>
  31. #endif
  32.  
  33.  
  34. #ifndef __OCE__
  35.     #include <OCE.h>
  36. #endif
  37.  
  38. #ifndef __OCEAUTHDIR__
  39.     #include <OCEAuthDir.h>
  40. #endif
  41.  
  42.  
  43.  
  44.  
  45. #if PRAGMA_ONCE
  46. #pragma once
  47. #endif
  48.  
  49. #ifdef __cplusplus
  50. extern "C" {
  51. #endif
  52.  
  53. #if PRAGMA_IMPORT
  54. #pragma import on
  55. #endif
  56.  
  57. #if PRAGMA_STRUCT_ALIGN
  58.     #pragma options align=mac68k
  59. #elif PRAGMA_STRUCT_PACKPUSH
  60.     #pragma pack(push, 2)
  61. #elif PRAGMA_STRUCT_PACK
  62.     #pragma pack(2)
  63. #endif
  64.  
  65. #endif /* REZ */
  66.  
  67. /* generic icon suites */
  68. #define    genericDirectoryIconResource            -16721    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  69. #define    genericLockedDirectoryIconResource        -16716    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  70. #define    genericRecordIconResource                -16722    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  71. #define    genericAttributeIconResource            -16723    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  72. #define    genericTemplateIconResource                -16746    /* icl8, icl4, ICN#, ics#, ics4, ics8 */
  73. /* standard icon suites */
  74. #define    directoryFolderIconResource                -16720    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  75. #define    lockedDirectoryFolderIconResource        -16719    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  76. #define    personalDirectoryIconResource            -16718    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  77. #define    directoriesIconResource                    -16717    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  78. #define    preferredPersonalDirectoryIconResource    -16724    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  79. /* icon IDs for spinning arrows */
  80. #define    kFirstSpinnerIcon                        -16745
  81. #define    kLastSpinnerIcon                        -16738
  82. /* resource types */
  83. #define    kSDPPanelResourceType                    'panl'
  84. #define    kSDPFindPanelResourceType                'find'
  85. /* Standard FindPanel resource */
  86. #define    kStandardFindLayout                        -16700
  87. #ifndef REZ
  88. /* Prompt For Identity structures */
  89. enum {
  90.     kSDPGuestBit                = 0,
  91.     kSDPSpecificIdentityBit        = 1,
  92.     kSDPLocalIdentityBit        = 2
  93. };
  94.  
  95. /* Values of SDPIdentityKind */
  96. enum {
  97.     kSDPGuestMask                = 1 << kSDPGuestBit,
  98.     kSDPSpecificIdentityMask    = 1 << kSDPSpecificIdentityBit,
  99.     kSDPLocalIdentityMask        = 1 << kSDPLocalIdentityBit
  100. };
  101.  
  102. typedef unsigned short                     SDPIdentityKind;
  103. enum {
  104.     kSDPSuggestionOnly            = 0,
  105.     kSDPRestrictToDirectory        = 1,
  106.     kSDPRestrictToRecord        = 2
  107. };
  108.  
  109. typedef unsigned short                     SDPLoginFilterKind;
  110.  
  111.  
  112. /* Panel Structures */
  113. /*
  114. While the panel is in operation, four selection states may exist.
  115.     1) kSDPNothingSelected means nothing is selected.
  116.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  117.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  118.     4) kSDPRecordSelected means that a record is currently selected.
  119. */
  120. /* Values of SDPSelectionState */
  121. enum {
  122.     kSDPNothingSelected            = 0,
  123.     kSDPLockedContainerSelected    = 1,
  124.     kSDPContainerSelected        = 2,
  125.     kSDPRecordSelected            = 3,
  126.     kSDPRecordAliasSelected        = 4,
  127.     kSDPContainerAliasSelected    = 5
  128. };
  129.  
  130. typedef unsigned short                     SDPSelectionState;
  131.  
  132.  
  133. /*
  134. This type informs the caller of the action the user took, either as the result
  135. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  136.  
  137. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  138. state change.
  139.  
  140. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  141. record. This is returned, for example, when a user double-clicks on a record.
  142.  
  143. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  144. that no item is selected).
  145. */
  146. /* Values of SDPPanelState */
  147. enum {
  148.     kSDPProcessed                = 0,
  149.     kSDPSelectedAnItem            = 1,
  150.     kSDPChangedSelection        = 2
  151. };
  152.  
  153. typedef unsigned short                     SDPPanelState;
  154. /*
  155. Your application may read any of the fields in a SDPPanelRecord, but it should
  156. use the appropriate routines to make changes to the records with the exception
  157. of the refCon field which your application may read or write at will.  Private
  158. information follows the SDPPanelRecord, so the handle must not be re-sized.
  159. */
  160.  
  161. struct SDPPanelRecord {
  162.     Rect                             bounds;
  163.     Boolean                         visible;
  164.     Boolean                         enabled;
  165.     Boolean                         focused;
  166.     Byte                             padByte;
  167.     AuthIdentity                     identity;
  168.     long                             refCon;
  169.     Rect                             listRect;
  170.     Rect                             popupRect;
  171.     short                             numberOfRows;
  172.     short                             rowHeight;
  173.     Boolean                         pabMode;
  174.     Boolean                         filler1;
  175. };
  176. typedef struct SDPPanelRecord            SDPPanelRecord;
  177.  
  178. typedef SDPPanelRecord *                SDPPanelPtr;
  179. typedef SDPPanelPtr *                    SDPPanelHandle;
  180. typedef CALLBACK_API( void , PanelBusyProcPtr )(SDPPanelHandle Panel, Boolean busy);
  181. typedef STACK_UPP_TYPE(PanelBusyProcPtr)                         PanelBusyUPP;
  182. #if OPAQUE_UPP_TYPES
  183.     EXTERN_API(PanelBusyUPP)
  184.     NewPanelBusyUPP                   (PanelBusyProcPtr        userRoutine);
  185.  
  186.     EXTERN_API(void)
  187.     DisposePanelBusyUPP               (PanelBusyUPP            userUPP);
  188.  
  189.     EXTERN_API(void)
  190.     InvokePanelBusyUPP               (SDPPanelHandle            Panel,
  191.                                     Boolean                    busy,
  192.                                     PanelBusyUPP            userUPP);
  193.  
  194. #else
  195.     enum { uppPanelBusyProcInfo = 0x000001C0 };                     /* pascal no_return_value Func(4_bytes, 1_byte) */
  196.     #define NewPanelBusyUPP(userRoutine)                             (PanelBusyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPanelBusyProcInfo, GetCurrentArchitecture())
  197.     #define DisposePanelBusyUPP(userUPP)                             DisposeRoutineDescriptor(userUPP)
  198.     #define InvokePanelBusyUPP(Panel, busy, userUPP)                 CALL_TWO_PARAMETER_UPP((userUPP), uppPanelBusyProcInfo, (Panel), (busy))
  199. #endif
  200. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  201. #define NewPanelBusyProc(userRoutine)                             NewPanelBusyUPP(userRoutine)
  202. #define CallPanelBusyProc(userRoutine, Panel, busy)                InvokePanelBusyUPP(Panel, busy, userRoutine)
  203. typedef PanelBusyUPP                     PanelBusyProc;
  204. /* Find Panel Structures */
  205. enum {
  206.     kSDPItemIsSelectedBit        = 0,
  207.     kSDPFindTextExistsBit        = 1
  208. };
  209.  
  210. /* Values of SDPFindPanelState */
  211. enum {
  212.     kSDPItemIsSelectedMask        = 1 << kSDPItemIsSelectedBit,
  213.     kSDPFindTextExistsMask        = 1 << kSDPFindTextExistsBit
  214. };
  215.  
  216. typedef unsigned short                     SDPFindPanelState;
  217. /* Values of SDPFindPanelFocus */
  218. enum {
  219.     kSDPFindPanelNoFocus        = 0,
  220.     kSDPFindPanelListHasFocus    = 1,
  221.     kSDPFindPanelTextHasFocus    = 2
  222. };
  223.  
  224. typedef unsigned short                     SDPFindPanelFocus;
  225.  
  226.  
  227.  
  228. struct SDPFindPanelRecord {
  229.     Point                             upperLeft;
  230.     Boolean                         visible;
  231.     Boolean                         enabled;
  232.     Boolean                         nowFinding;
  233.     Byte                             padByte;
  234.     SDPFindPanelFocus                 currentFocus;
  235.     AuthIdentity                     identity;
  236.     short                             simultaneousSearchCount;
  237.     long                             refCon;
  238. };
  239. typedef struct SDPFindPanelRecord        SDPFindPanelRecord;
  240.  
  241. typedef SDPFindPanelRecord *            SDPFindPanelPtr;
  242. typedef SDPFindPanelPtr *                SDPFindPanelHandle;
  243. /* Values of SDPFindPanelResult */
  244. enum {
  245.     kSDPSelectedAFindItem        = 0,
  246.     kSDPFindSelectionChanged    = 1,
  247.     kSDPFindCompleted            = 2,
  248.     kSDPTextStateChanged        = 3,
  249.     kSDPFocusChanged            = 4,
  250.     kSDPSelectionAndFocusChanged = 5,
  251.     kSDPMenuChanged                = 6,
  252.     kSDPSelectionAndMenuChanged    = 7,
  253.     kSDPProcessedFind            = 8
  254. };
  255.  
  256. typedef unsigned short                     SDPFindPanelResult;
  257. typedef PackedPathNamePtr *                PackedRStringListHandle;
  258. typedef CALLBACK_API( void , FindPanelBusyProcPtr )(SDPFindPanelHandle findPanel, Boolean busy);
  259. typedef STACK_UPP_TYPE(FindPanelBusyProcPtr)                     FindPanelBusyUPP;
  260. #if OPAQUE_UPP_TYPES
  261.     EXTERN_API(FindPanelBusyUPP)
  262.     NewFindPanelBusyUPP               (FindPanelBusyProcPtr    userRoutine);
  263.  
  264.     EXTERN_API(void)
  265.     DisposeFindPanelBusyUPP           (FindPanelBusyUPP        userUPP);
  266.  
  267.     EXTERN_API(void)
  268.     InvokeFindPanelBusyUPP           (SDPFindPanelHandle        findPanel,
  269.                                     Boolean                    busy,
  270.                                     FindPanelBusyUPP        userUPP);
  271.  
  272. #else
  273.     enum { uppFindPanelBusyProcInfo = 0x000001C0 };                 /* pascal no_return_value Func(4_bytes, 1_byte) */
  274.     #define NewFindPanelBusyUPP(userRoutine)                         (FindPanelBusyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFindPanelBusyProcInfo, GetCurrentArchitecture())
  275.     #define DisposeFindPanelBusyUPP(userUPP)                         DisposeRoutineDescriptor(userUPP)
  276.     #define InvokeFindPanelBusyUPP(findPanel, busy, userUPP)         CALL_TWO_PARAMETER_UPP((userUPP), uppFindPanelBusyProcInfo, (findPanel), (busy))
  277. #endif
  278. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  279. #define NewFindPanelBusyProc(userRoutine)                         NewFindPanelBusyUPP(userRoutine)
  280. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        InvokeFindPanelBusyUPP(findPanel, busy, userRoutine)
  281. typedef FindPanelBusyUPP                 FindPanelBusyProc;
  282. /* Prompt For Identity Routines */
  283. EXTERN_API( OSErr )
  284. SDPPromptForID                    (AuthIdentity *            id,
  285.                                  ConstStr255Param         guestPrompt,
  286.                                  ConstStr255Param         specificIDPrompt,
  287.                                  ConstStr255Param         localIDPrompt,
  288.                                  const RString *        recordType,
  289.                                  SDPIdentityKind         permittedKinds,
  290.                                  SDPIdentityKind *        selectedKind,
  291.                                  const RecordID *        loginFilter,
  292.                                  SDPLoginFilterKind     filterKind)                            FOURWORDINLINE(0x203C, 0x0010, 0x0388, 0xAA5D);
  293.  
  294.  
  295.  
  296. /*
  297. SDPNewPanel creates a new panel. You supply the window in which the panel
  298. is to live, the bounds for the panel (which includes both the menu and the list),
  299. whether or not the panel is to be initially visible, the initial RLI (nil for
  300. catalogs and volumes), the types of records that will be shown (only a single
  301. (non-nil) type which may contain wildcards), the identity by which to browse
  302. (for access control reasons), and a refCon which is  available to the caller.
  303. */
  304. EXTERN_API( OSErr )
  305. SDPNewPanel                        (SDPPanelHandle *        newPanel,
  306.                                  WindowPtr                 window,
  307.                                  const Rect *            bounds,
  308.                                  Boolean                 visible,
  309.                                  Boolean                 enabled,
  310.                                  const PackedRLI *        initialRLI,
  311.                                  const RStringPtr *        typesList,
  312.                                  unsigned long             typeCount,
  313.                                  AuthIdentity             identity,
  314.                                  DirEnumChoices         enumFlags,
  315.                                  DirMatchWith             matchTypeHow,
  316.                                  long                     refCon)                                FOURWORDINLINE(0x203C, 0x0015, 0x0064, 0xAA5D);
  317.  
  318.  
  319. /*
  320. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  321. away if the new authentication scheme works.
  322. */
  323. EXTERN_API( OSErr )
  324. SDPSetIdentity                    (SDPPanelHandle         panel,
  325.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0004, 0x0073, 0xAA5D);
  326.  
  327.  
  328.  
  329.  
  330. /*
  331. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  332. 'panl' resource.
  333. */
  334. EXTERN_API( OSErr )
  335. SDPGetNewPanel                    (SDPPanelHandle *        newPanel,
  336.                                  short                     resourceID,
  337.                                  WindowPtr                 window,
  338.                                  const PackedRLI *        initialRLI,
  339.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0009, 0x0065, 0xAA5D);
  340.  
  341.  
  342. /*
  343. Call this when you're completely done with a panel. It deallocates all of the
  344. associated data structures.
  345. */
  346. EXTERN_API( OSErr )
  347. SDPDisposePanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0066, 0xAA5D);
  348.  
  349.  
  350. /*
  351. If the panel is visible, it makes it invisible by hiding the menu, turning off
  352. drawing of the list, and erasing and  invaling the list's rectangle.
  353. */
  354. EXTERN_API( OSErr )
  355. SDPHidePanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0067, 0xAA5D);
  356.  
  357.  
  358. /* If the panel is invisible, it makes it visible and draws it. */
  359. EXTERN_API( OSErr )
  360. SDPShowPanel                    (SDPPanelHandle         panel)                                FOURWORDINLINE(0x203C, 0x0002, 0x0068, 0xAA5D);
  361.  
  362.  
  363. /* Disables the list and menu so that it won't accept any commands. */
  364. EXTERN_API( OSErr )
  365. SDPEnablePanel                    (SDPPanelHandle         panel,
  366.                                  Boolean                 enable)                                FOURWORDINLINE(0x203C, 0x0003, 0x0069, 0xAA5D);
  367.  
  368. /*
  369. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  370. the panel's window.
  371. */
  372. EXTERN_API( OSErr )
  373. SDPMovePanel                    (SDPPanelHandle         panel,
  374.                                  short                     h,
  375.                                  short                     v)                                    FOURWORDINLINE(0x203C, 0x0004, 0x006B, 0xAA5D);
  376.  
  377.  
  378. /*
  379. Resizes the panel to have the given width and height (keeping the upper-left-hand
  380. corner in a fixed position).
  381. */
  382. EXTERN_API( OSErr )
  383. SDPSizePanel                    (SDPPanelHandle         panel,
  384.                                  short                     width,
  385.                                  short                     height)                                FOURWORDINLINE(0x203C, 0x0004, 0x006C, 0xAA5D);
  386.  
  387.  
  388. /*
  389. This routine simulates a double-click on the selected item (if there is no selected
  390. item, then it does nothing), and it returns the result of that "double-click" via the
  391. whatHappened parameter. If a container is selected, then that container will be
  392. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  393. level in the hierarchy, then kSDPSelectedAnItem is returned.
  394. */
  395. EXTERN_API( OSErr )
  396. SDPOpenSelectedItem                (SDPPanelHandle         panel,
  397.                                  SDPPanelState *        whatHappened)                        FOURWORDINLINE(0x203C, 0x0004, 0x006D, 0xAA5D);
  398.  
  399.  
  400. /*
  401. Returns whether a record is selected, something else is selected, or nothing is
  402. selected.
  403. */
  404. EXTERN_API( OSErr )
  405. SDPGetPanelSelectionState        (SDPPanelHandle         panel,
  406.                                  SDPSelectionState *    itsState)                            FOURWORDINLINE(0x203C, 0x0004, 0x006E, 0xAA5D);
  407.  
  408.  
  409. /*
  410. Returns the size of the currently-selected DSSpec, or zero if a record is
  411. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  412. */
  413. EXTERN_API( OSErr )
  414. SDPGetPanelSelectionSize        (SDPPanelHandle         panel,
  415.                                  unsigned short *        dsSpecSize)                            FOURWORDINLINE(0x203C, 0x0004, 0x0072, 0xAA5D);
  416.  
  417.  
  418. /*
  419. Returns the currently-selected DSSpec, or a zero-lengthed
  420. DSSpec if a record is not selected. It is assumed that the selection
  421. buffer allocated is large enough.
  422. */
  423. EXTERN_API( OSErr )
  424. SDPGetPanelSelection            (SDPPanelHandle         panel,
  425.                                  PackedDSSpec *            selection)                            FOURWORDINLINE(0x203C, 0x0004, 0x006F, 0xAA5D);
  426.  
  427.  
  428. /*
  429. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  430. nothing.
  431. */
  432. EXTERN_API( OSErr )
  433. SDPSetPath                        (SDPPanelHandle         panel,
  434.                                  const PackedRLI *        prli)                                FOURWORDINLINE(0x203C, 0x0004, 0x0070, 0xAA5D);
  435.  
  436.  
  437. /*
  438. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  439. including NULL events.  If you have more than 1 panel, you will need to
  440. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  441. SDPUpdatePanel as described below.
  442. */
  443. EXTERN_API( OSErr )
  444. SDPPanelEvent                    (SDPPanelHandle         panel,
  445.                                  const EventRecord *    theEvent,
  446.                                  SDPPanelState *        whatHappened)                        FOURWORDINLINE(0x203C, 0x0006, 0x0071, 0xAA5D);
  447.  
  448.  
  449.  
  450. /*
  451. SDPUpdatePanel should be called in response to an update event.  Generally you will
  452. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  453. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  454. theRgn, if this is desired, you must first call SetClip.
  455. */
  456. EXTERN_API( OSErr )
  457. SDPUpdatePanel                    (SDPPanelHandle         panel,
  458.                                  RgnHandle                 theRgn)                                FOURWORDINLINE(0x203C, 0x0004, 0x006A, 0xAA5D);
  459.  
  460.  
  461. /*
  462. SDPSelectString scrolls and selects the closest matching string at the current
  463. level.  This is the same behavior as if the user typed in the given string.
  464. */
  465. EXTERN_API( OSErr )
  466. SDPSelectString                    (SDPPanelHandle         panel,
  467.                                  const RString *        name)                                FOURWORDINLINE(0x203C, 0x0004, 0x0074, 0xAA5D);
  468.  
  469. /*
  470. SDPGetPathLength returns the length in bytes required to hold the current path name
  471. in RLI format.  This corresponds to the path name in the popup menu.
  472. */
  473. EXTERN_API( OSErr )
  474. SDPGetPathLength                (SDPPanelHandle         panel,
  475.                                  unsigned short *        pathNameLength)                        FOURWORDINLINE(0x203C, 0x0004, 0x0075, 0xAA5D);
  476.  
  477. /* SDPGetPath returns the current rli. */
  478. EXTERN_API( OSErr )
  479. SDPGetPath                        (SDPPanelHandle         panel,
  480.                                  PackedRLI *            prli,
  481.                                  short *                dsRefNum)                            FOURWORDINLINE(0x203C, 0x0006, 0x0076, 0xAA5D);
  482.  
  483. /*
  484. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  485. the focus boolean.
  486. */
  487. EXTERN_API( OSErr )
  488. SDPSetFocus                        (SDPPanelHandle         panel,
  489.                                  Boolean                 focus)                                FOURWORDINLINE(0x203C, 0x0003, 0x0077, 0xAA5D);
  490.  
  491. /*
  492. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  493. balloon help.  Balloon help is unavailable until this call is made.
  494. */
  495. EXTERN_API( OSErr )
  496. SDPSetPanelBalloonHelp            (SDPPanelHandle         panel,
  497.                                  short                     balloonHelpID)                        FOURWORDINLINE(0x203C, 0x0003, 0x0078, 0xAA5D);
  498.  
  499. /*
  500. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  501. the panel is aynchronously busy.
  502. */
  503. EXTERN_API( OSErr )
  504. SDPInstallPanelBusyProc            (SDPPanelHandle         panel,
  505.                                  PanelBusyProc             busyProc)                            FOURWORDINLINE(0x203C, 0x0004, 0x0079, 0xAA5D);
  506.  
  507. EXTERN_API( OSErr )
  508. SDPNewFindPanel                    (SDPFindPanelHandle *    newPanel,
  509.                                  WindowPtr                 window,
  510.                                  Point                     upperLeft,
  511.                                  short                     layoutResourceID,
  512.                                  Boolean                 visible,
  513.                                  Boolean                 enabled,
  514.                                  const RStringPtr *        typesList,
  515.                                  long                     typeCount,
  516.                                  DirMatchWith             matchTypeHow,
  517.                                  AuthIdentity             identity,
  518.                                  short                     simultaneousSearchCount,
  519.                                  SDPFindPanelFocus         initialFocus,
  520.                                  long                     refCon)                                FOURWORDINLINE(0x203C, 0x0014, 0x08FC, 0xAA5D);
  521.  
  522. EXTERN_API( OSErr )
  523. SDPDisposeFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FD, 0xAA5D);
  524.  
  525. EXTERN_API( OSErr )
  526. SDPStartFind                    (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FE, 0xAA5D);
  527.  
  528. EXTERN_API( OSErr )
  529. SDPStopFind                        (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x08FF, 0xAA5D);
  530.  
  531. EXTERN_API( OSErr )
  532. SDPFindPanelEvent                (SDPFindPanelHandle     findPanel,
  533.                                  const EventRecord *    event,
  534.                                  SDPFindPanelResult *    whatHappened)                        FOURWORDINLINE(0x203C, 0x0006, 0x0900, 0xAA5D);
  535.  
  536. EXTERN_API( OSErr )
  537. SDPUpdateFindPanel                (SDPFindPanelHandle     findPanel,
  538.                                  RgnHandle                 theRgn)                                FOURWORDINLINE(0x203C, 0x0004, 0x0901, 0xAA5D);
  539.  
  540. EXTERN_API( OSErr )
  541. SDPShowFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x0902, 0xAA5D);
  542.  
  543. EXTERN_API( OSErr )
  544. SDPHideFindPanel                (SDPFindPanelHandle     findPanel)                            FOURWORDINLINE(0x203C, 0x0002, 0x0903, 0xAA5D);
  545.  
  546. EXTERN_API( OSErr )
  547. SDPMoveFindPanel                (SDPFindPanelHandle     findPanel,
  548.                                  short                     h,
  549.                                  short                     v)                                    FOURWORDINLINE(0x203C, 0x0004, 0x0904, 0xAA5D);
  550.  
  551. EXTERN_API( OSErr )
  552. SDPEnableFindPanel                (SDPFindPanelHandle     findPanel,
  553.                                  Boolean                 enabled)                            FOURWORDINLINE(0x203C, 0x0003, 0x0905, 0xAA5D);
  554.  
  555. EXTERN_API( OSErr )
  556. SDPSetFindPanelFocus            (SDPFindPanelHandle     findPanel,
  557.                                  SDPFindPanelFocus         newFocus)                            FOURWORDINLINE(0x203C, 0x0003, 0x0906, 0xAA5D);
  558.  
  559. EXTERN_API( OSErr )
  560. SDPGetFindPanelState            (SDPFindPanelHandle     findPanel,
  561.                                  SDPFindPanelState *    itsState)                            FOURWORDINLINE(0x203C, 0x0004, 0x0907, 0xAA5D);
  562.  
  563. EXTERN_API( OSErr )
  564. SDPGetFindPanelSelectionSize    (SDPFindPanelHandle     findPanel,
  565.                                  unsigned short *        size)                                FOURWORDINLINE(0x203C, 0x0004, 0x0908, 0xAA5D);
  566.  
  567. EXTERN_API( OSErr )
  568. SDPGetFindPanelSelection        (SDPFindPanelHandle     findPanel,
  569.                                  PackedDSSpec *            selection)                            FOURWORDINLINE(0x203C, 0x0004, 0x0909, 0xAA5D);
  570.  
  571. EXTERN_API( OSErr )
  572. SDPSetFindPanelBalloonHelp        (SDPFindPanelHandle     findPanel,
  573.                                  short                     balloonHelpID)                        FOURWORDINLINE(0x203C, 0x0003, 0x090A, 0xAA5D);
  574.  
  575. EXTERN_API( OSErr )
  576. SDPSetFindIdentity                (SDPFindPanelHandle     findPanel,
  577.                                  AuthIdentity             identity)                            FOURWORDINLINE(0x203C, 0x0004, 0x090B, 0xAA5D);
  578.  
  579. EXTERN_API( OSErr )
  580. SDPInstallFindPanelBusyProc        (SDPFindPanelHandle     findPanel,
  581.                                  FindPanelBusyProc         busyProc)                            FOURWORDINLINE(0x203C, 0x0004, 0x090C, 0xAA5D);
  582.  
  583.  
  584.  
  585. EXTERN_API( OSErr )
  586. SDPGetIconByType                (const RString *        recordType,
  587.                                  IconSelectorValue         whichIcons,
  588.                                  Handle *                iconSuite)                            THREEWORDINLINE(0x303C, 0x0400, 0xAA5C);
  589.  
  590. EXTERN_API( OSErr )
  591. SDPGetDSSpecIcon                (const PackedDSSpec *    packedDSSpec,
  592.                                  IconSelectorValue         whichIcons,
  593.                                  Handle *                iconSuite)                            THREEWORDINLINE(0x303C, 0x0401, 0xAA5C);
  594.  
  595. EXTERN_API( OSErr )
  596. SDPGetCategories                (PackedRStringListHandle * categories,
  597.                                  PackedRStringListHandle * displayNames)                    THREEWORDINLINE(0x303C, 0x0402, 0xAA5C);
  598.  
  599. EXTERN_API( OSErr )
  600. SDPGetCategoryTypes                (const RString *        category,
  601.                                  PackedRStringListHandle * types)                            THREEWORDINLINE(0x303C, 0x0403, 0xAA5C);
  602.  
  603.  
  604.  
  605.  
  606. EXTERN_API( OSErr )
  607. SDPResolveAliasFile                (FSSpecPtr                 fileSpec,
  608.                                  PackedDSSpecHandle     resolvedDSSpec,
  609.                                  AuthIdentity             identity,
  610.                                  Boolean                 mayPromptUser)                        FOURWORDINLINE(0x203C, 0x0007, 0x0E74, 0xAA5D);
  611.  
  612. EXTERN_API( OSErr )
  613. SDPResolveAliasDSSpec            (PackedDSSpecHandle     theAliasDSSpec,
  614.                                  AuthIdentity             identity,
  615.                                  Boolean                 mayPromptUser)                        FOURWORDINLINE(0x203C, 0x0005, 0x0E75, 0xAA5D);
  616.  
  617. EXTERN_API( OSErr )
  618. SDPRepairPersonalDirectory        (FSSpec *                pd,
  619.                                  Boolean                 showProgress)                        FOURWORDINLINE(0x203C, 0x0003, 0x1A2C, 0xAA5D);
  620.  
  621.  
  622. #endif /* REZ */
  623.  
  624. #if PRAGMA_STRUCT_ALIGN
  625.     #pragma options align=reset
  626. #elif PRAGMA_STRUCT_PACKPUSH
  627.     #pragma pack(pop)
  628. #elif PRAGMA_STRUCT_PACK
  629.     #pragma pack()
  630. #endif
  631.  
  632. #ifdef PRAGMA_IMPORT_OFF
  633. #pragma import off
  634. #elif PRAGMA_IMPORT
  635. #pragma import reset
  636. #endif
  637.  
  638. #ifdef __cplusplus
  639. }
  640. #endif
  641.  
  642. #endif /* __OCESTANDARDDIRECTORY__ */
  643.  
  644.